home *** CD-ROM | disk | FTP | other *** search
- /*
- File: AppleShareFileServerRegistry.h
-
- Contains: Registry records for file server.
-
- Version: Technology: AppleShare IP 6.0
- Release: ASIP 6.0 SDK - Friday, July 10, 1998 11:16:11 AM
-
- Copyright: © 1995-1998 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __APPLESHAREFILESERVERREGISTRY__
- #define __APPLESHAREFILESERVERREGISTRY__
-
- #ifndef __FILES__
- #include <Files.h>
- #endif
-
-
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
-
- typedef unsigned char Str42[43];
- typedef unsigned char Str199[200];
-
- enum {
- kFSCreatorSig = FOUR_CHAR_CODE('ipwf') /* Attribute Signature for FileServer Service object attributes*/
- };
-
-
- enum {
- /* Attribute Types for FileServer Service object each attribute */
- kFSServerInfoType = FOUR_CHAR_CODE('srvr'), /* ServerInfo*/
- kFSServerGreetingType = FOUR_CHAR_CODE('gret'),
- kFSCacheInfoType = FOUR_CHAR_CODE('cach'),
- kFSIdleUserInfoType = FOUR_CHAR_CODE('idle'),
- kFSAdminInfoType = FOUR_CHAR_CODE('admm'),
- kFSHTTPInfoType = FOUR_CHAR_CODE('http'),
- kFSHTTPFolderType = FOUR_CHAR_CODE('hfol'),
- kFSHTTPFileType = FOUR_CHAR_CODE('hfil'),
- kFSHTTPPluginType = FOUR_CHAR_CODE('hplg'),
- kFSMultiWebDirSig = FOUR_CHAR_CODE('webd'), /* Multi Domain signature */
- kFSHTTPWebDirCountType = FOUR_CHAR_CODE('domC'),
- kFSHTTPWebDirType = FOUR_CHAR_CODE('0000'),
- kFSFTPInfoType = FOUR_CHAR_CODE('ftp '),
- kFSAFPInfoType = FOUR_CHAR_CODE('afp '),
- kFSSMBInfoType = FOUR_CHAR_CODE('smb '),
- kFSMimeType = FOUR_CHAR_CODE('mime'),
- kFSIPFilterType = FOUR_CHAR_CODE('filt'),
- kFSMaxConnection = FOUR_CHAR_CODE('maxc') /* max concurrent connection */
- };
-
- /* Service specific advanced options */
-
- enum {
- kFSAFPTCPSig = FOUR_CHAR_CODE('afpt'), /* AFP over TCP port signature */
- kFSSMBInfoSig = FOUR_CHAR_CODE('smb '), /* SMB over TCP port signature */
- kFSHTTPInfoSig = FOUR_CHAR_CODE('http'), /* HTTP port signature */
- kFSFTPInfoSig = FOUR_CHAR_CODE('ftp ') /* FTP port signature */
- };
-
-
- enum {
- kFSPortType = FOUR_CHAR_CODE('port'), /* port number (UInt16) for all services */
- kFSSessionTimeout = FOUR_CHAR_CODE('ssto') /* session timeouts for all services (SInt32) */
- };
-
-
- enum {
- kFSTransferTimeout = FOUR_CHAR_CODE('trto'), /* transfer timeout for kFSFTPInfoSig (SInt32) */
- kFSKeepAliveTimeout = FOUR_CHAR_CODE('kato'), /* keep alive timeout for kFSHTTPInfoSig (SInt32) */
- kFSCGITimeout = FOUR_CHAR_CODE('cgto'), /* CGI timeout for kFSHTTPInfoSig (SInt32) */
- kFSLogSize = FOUR_CHAR_CODE('logs') /* Log Size - for kFSHTTPInfoSig (UInt32) */
- };
-
- /* UAM information... */
-
- enum {
- kFSUAMInfoSig = FOUR_CHAR_CODE('uam ') /* Signature */
- };
-
-
-
- enum {
- kFSNumUAMS = FOUR_CHAR_CODE('uamc'), /* Number of UAMs (UInt32) */
- kFSUAMNames = FOUR_CHAR_CODE('uams') /* UAM names (buffer of packed pascal strings) */
- };
-
- /*----------------------------------------------------------*/
- /* Server Preference - General Information */
- /*----------------------------------------------------------*/
-
- enum {
- kFSServerInfoVersion = 1
- };
-
-
-
- struct ServerInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 fileServerVersion; /* version# for file server */
- SInt16 userActivityLimit; /* user activity limit in % */
- SInt16 maxLogin; /* maximum client connections */
- SInt16 maxGuestAccess; /* maximum number of guest and anonymous logins */
- SInt16 shutdownMinutes; /* minutes until shutdown */
- };
- typedef struct ServerInfo ServerInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - connect info & Login Greeting */
- /*----------------------------------------------------------*/
-
- enum {
- kFSServerGreetingVersion = 1
- };
-
-
- struct ServerGreeting {
- SInt16 versionNumber; /* version number for this record */
- Str199 greetingMsg; /* login greeting */
- };
- typedef struct ServerGreeting ServerGreeting;
- /*----------------------------------------------------------*/
- /* Server Preference - Additional Cache Information */
- /*----------------------------------------------------------*/
-
- enum {
- kFSCacheInfoVersion = 1
- };
-
-
- struct CacheInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt32 cacheForOthers; /* memory to be reserved for other applications */
- };
- typedef struct CacheInfo CacheInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - Idle User Information */
- /*----------------------------------------------------------*/
- /* idleFlag bits. */
-
- enum {
- kFSIdleDisconEnabledMask = 0x0001, /* allow to disconnect idle users */
- kFSDisconExeptOpenFilesMask = 0x0002, /* if true, disconnect except open file users */
- kFSDisconSuperUserMask = 0x0004, /* if true, isconnect idel super users */
- kFSDisconNormalUserMask = 0x0008, /* if true, disconnect idle normal users */
- kFSDisconGuestUserMask = 0x0010 /* if true, disconnect idle guest users */
- };
-
-
-
- enum {
- kFSIdleUserInfoVersion = 1
- };
-
-
- struct IdleUserInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 idleFlag; /* see above */
- SInt16 idleMinute; /* max # of minute for idle users */
- Str199 disconnectMsg; /* disconnect message */
- };
- typedef struct IdleUserInfo IdleUserInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - Serial Miscelleneous Information*/
- /*----------------------------------------------------------*/
-
- enum {
- kFSAdminInfoVersion = 1
- };
-
-
- struct AdminInfo {
- SInt16 versionNumber; /* version number for this record */
- Str31 namePhone; /* name & phone */
- Str31 organization; /* organization */
- };
- typedef struct AdminInfo AdminInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - HTTP Information */
- /*----------------------------------------------------------*/
- /* Flag bits. */
-
- enum {
- kFSMultiDomainEnabled = 0x0001, /* allow multi-domain support */
- kFSDirListingEnabled = 0x0002, /* allow directory listing */
- kFSAutoShareWebFolder = 0x0004 /* if on, web folder share point at start up; server will clear */
- };
-
-
- enum {
- kFSHTTPServiceInfoVersion = 2
- };
-
-
- enum {
- kFSHTTPEnable = 1, /* enable HTTP*/
- kFSHTTPLogEnable = 1, /* enable HTTP Log*/
- kFSHTTPGuestEnable = 1 /* guest turned on for HTTP*/
- };
-
-
- struct HTTPServiceInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 enabled; /* Enable HTTP, 1-enable, 0-not enable */
- SInt16 status;
- SInt16 logEnabled; /* Enable HTTP Log, 1-enable, 0-not enable */
- SInt16 maxConnect; /* HTTP maximum client connections */
- SInt16 guestEnabled; /* Whether guest allowed for HTTP */
- SInt32 flag; /* new field for ASIP6 */
- };
- typedef struct HTTPServiceInfo HTTPServiceInfo;
-
- struct HTTPFolderRec {
- SInt16 vRefNum; /* HTML folder path vRefNum*/
- Str27 volumeName; /* HTML folder path volume name*/
- UInt32 volCreateDate; /* HTML folder path volume creation date*/
- SInt32 dirID; /* HTML folder path DirID*/
- };
- typedef struct HTTPFolderRec HTTPFolderRec;
-
- struct HTTPFileRec {
- Str255 partialPath; /* partial path to HTML file starting from the Web folder */
- };
- typedef struct HTTPFileRec HTTPFileRec;
-
- enum {
- kFSPlugInEnable = 1, /* enable Plug-ins*/
- kFSPlugInLoggingEnable = 1 /* enable Plug-in logging*/
- };
-
-
- struct HTTPPlugInsRec {
- SInt16 pluginEnable; /* Plug-ins, 1-enable, 0-not enable */
- SInt16 loggingEnable; /* Plug-in logging, 1-enable, 0-not enable */
- SInt32 memSize; /* Plug-in memory allocation */
- FSSpec preProcessorSpec; /* Preprocessor plugin spec */
- FSSpec postProcessorSpec; /* Postprocessor plugin spec */
- FSSpec errorSpec; /* Error plugin spec */
- };
- typedef struct HTTPPlugInsRec HTTPPlugInsRec;
-
- struct VolSpec {
- Str32 vName; /* pascal string because FSSpec uses pascal string*/
- UInt8 filler;
- SInt16 vRefNum;
- UInt32 vCreateDate;
- };
- typedef struct VolSpec VolSpec;
-
- enum {
- kFSHTTPWebDirCountRecVersion = 1
- };
-
-
- struct HTTPWebDirCountRec {
- UInt16 count; /* How many HTTPWebDirRec there are */
- SInt16 version; /* Version of the HTTPWebDirRec */
- };
- typedef struct HTTPWebDirCountRec HTTPWebDirCountRec;
-
- enum {
- kFSWebFolderEnabled = 1
- };
-
-
- enum {
- kFSAddressTypeDNS = 0,
- kFSAddressTypeIPAddress = 1
- };
-
-
- struct HTTPWebDirRec {
- UInt16 enabled; /* 1 == this web folder enabled, 0 == disabled */
- SInt16 addressType; /* Indicates how to decode addressText: 0 == DNS name, 1 = IP Address (in ASCII) */
- Str63 addressText; /* Domain name or IP address (in ASCII) of this web folder (pascal str) See addressType field */
- UInt16 portNumber; /* Port number for this web folder's IP address (InetPort) */
- VolSpec volSpec; /* Volume specifier */
- SInt32 dirID; /* Dir ID of this web folder */
- };
- typedef struct HTTPWebDirRec HTTPWebDirRec;
- /*----------------------------------------------------------*/
- /* Server Preference - FTP Information */
- /*----------------------------------------------------------*/
-
- enum {
- kFSFTPServiceInfoVersion = 1
- };
-
-
- struct FTPServiceInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 ftpEnable; /* Enable FTP, 1-enable, 0-not enable */
- SInt16 status;
- SInt16 ftpAnonymousEnable; /* Enable Anonymous Login, 1-enable, 0-not enable */
- };
- typedef struct FTPServiceInfo FTPServiceInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - AFP Information */
- /*----------------------------------------------------------*/
-
- enum {
- kFSAFPServiceInfoVersion = 1
- };
-
-
- struct AFPServiceInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 afpOverTCPIPEnable; /* Enable AFP over TCPIP, 1-enable, 0-not enable */
- SInt16 afpOverTCPIPStatus;
- SInt16 afpOverATalkEnable; /* Enable AFP over AppleTalk, 1-enable, 0-not enable */
- };
- typedef struct AFPServiceInfo AFPServiceInfo;
- /*----------------------------------------------------------*/
- /* Server Preference - SMB Information */
- /*----------------------------------------------------------*/
-
- enum {
- kFSSMBServiceInfoVersion = 1
- };
-
-
- enum {
- kFSSMBMaxNetBIOSnameLength = 15,
- kFSSMBMaxWorkGroupLength = 15,
- kFSSMBMaxCommentLength = 43,
- kFSSMBWINSAddressLength = 62
- };
-
-
- struct SMBServiceInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 smbEnable; /* Enable SMB, 1-enable, 0-not enable */
- SInt16 status;
- SInt16 guestEnabled; /* Whether guest allowed for SMB */
- Str31 netBIOSname; /* Server name. Limited to 15 bytes */
- Str31 workGroup; /* NETBIOS group name. Limited to 15 bytes */
- Str63 comment; /* ASCII comment for the server. Limited to 43 bytes */
- SInt16 winsEnabled; /* Enable WINS, 1-enable, 0-not enable */
- Str63 winsAddress; /* WINS IP address */
-
- };
- typedef struct SMBServiceInfo SMBServiceInfo;
- /*----------------------------------------------------------------------*/
- /* MIME type changes - Notify server SrvrMimeTypePrefs has changed */
- /*----------------------------------------------------------------------*/
-
- enum {
- kFSMimeTypeChangedVersion = 1
- };
-
-
- struct MimeTypeChanged {
- SInt16 version; /* version number for this record */
- SInt32 counter; /* no meaning, just for notification */
- };
- typedef struct MimeTypeChanged MimeTypeChanged;
- /*----------------------------------------------------------*/
- /* IPFilter Options - Advanced option for filtering IP */
- /*----------------------------------------------------------*/
-
- enum {
- kFSIPFilterAllow = 1
- };
-
- /* Structure of individual filters */
-
- struct IPFilterStruct {
- SInt16 allow; /* 0 for disallow, 1 for allow */
- UInt32 highIPBytes;
- UInt32 lowIPBytes;
- };
- typedef struct IPFilterStruct IPFilterStruct;
-
- enum {
- kFSMaxIPFilters = 10
- };
-
-
- struct IPFilterInfo {
- SInt16 versionNumber; /* version number for this record */
- SInt16 numFilters; /* numberOfIPFilters */
- IPFilterStruct filters[10];
- };
- typedef struct IPFilterInfo IPFilterInfo;
- /*----------------------------------------------------------*/
- /* Max connection information */
- /*----------------------------------------------------------*/
- /*
- tags for this record are type:kFSCreatorSig and attribute:kFSMacConnextion
- this value will be used if the max connection number encoded in serial number is 250
- */
-
- enum {
- kFSServerMaxConnectionInfoVersion = 1
- };
-
-
- struct ServerMaxConnectionInfo {
- SInt16 version;
- SInt32 flag; /* reserved for future use */
- SInt32 maxConnection;
- };
- typedef struct ServerMaxConnectionInfo ServerMaxConnectionInfo;
- /* ------------------------------------------------------------------------------------------------- */
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
-
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __APPLESHAREFILESERVERREGISTRY__ */
-
-